package com.ktgj.customer.mapper;

import java.util.List;

import com.ktgj.customer.domain.CustomerRightdetail;
import com.ktgj.customer.domain.Guarantee;
import com.ktgj.customer.domain.vo.TmpGuaranteeVo;
import org.apache.ibatis.annotations.Param;

/**
 * 保险
Mapper接口
 * 
 * @author ruoyi
 * @date 2021-07-27
 */
public interface GuaranteeMapper 
{
    /**
     * 查询保险

     * 
     * @param guaranteeId 保险
ID
     * @return 保险

     */
    public Guarantee selectGuaranteeById(Long guaranteeId);

    /**
     * 查询保险
列表
     * 
     * @param guarantee 保险

     * @return 保险
集合
     */
    public List<Guarantee> selectGuaranteeList(Guarantee guarantee);

    /**
     * 新增保险

     * 
     * @param guarantee 保险

     * @return 结果
     */
    public int insertGuarantee(Guarantee guarantee);

    /**
     * 修改保险

     * 
     * @param guarantee 保险

     * @return 结果
     */
    public int updateGuarantee(Guarantee guarantee);

    /**
     * 删除保险

     * 
     * @param guaranteeId 保险
ID
     * @return 结果
     */
    public int deleteGuaranteeById(Long guaranteeId);

    /**
     * 批量删除保险

     * 
     * @param guaranteeIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteGuaranteeByIds(Long[] guaranteeIds);

    /**
     * 我的-订单列表（保险）
     * */
    public List<Guarantee> selectGuarnteeByCustomerId(Long customerId);

    /**
     * 新增保险列表
     * */
    public int insertGuaranteeList(@Param("guaranteeList") List<Guarantee> guaranteeList);

    /**
     * 新增保险随卡列表
     * */
    public int addInsuranceList(Guarantee guarantee);

    int queryGuaranteeCount(@Param("customerId") Long customerId, @Param("insTypeId") Long insTypeId);

    /**
     * 保险信息列表
     * */
    public List<Guarantee> guaranteeList(TmpGuaranteeVo tmpGuaranteeVo);

    /**
     * 查询待修改保险信息
     * */
    public Guarantee selGuarantee(Long id);

    /**
     * 查询所有暂缓开通的保险信息
     * */
    public List<Guarantee> suspendOpening();

    /**
     * 卡号获取信息
     * */
    public List<Guarantee> guaranteeByCardNum(String cardNum);
}
